﻿using System;
using System.Collections.Generic;
using System.Windows.Forms;
using System.Linq;
using System.Text;
using System.Data.OleDb;

namespace Formation_Entreprise
{
    class objSelectFormation
    {
        private string query;
        private string strcn;
        private OleDbConnection oleDbCn;
        private OleDbCommand oleDbCmd;
        public OleDbDataReader reader;

        public objSelectFormation()
        {
            // Ouverture de la connection à la base de donnée
            strcn = ConnectionBD.ObtenirConnectionString();
            oleDbCn = new OleDbConnection(strcn);
            oleDbCn.Open();
        }

        public List<string> getSelectFormation()
        {
            // Sélection de l'entreprise en guise de la formation
            query = "SELECT NomFormation FROM  Formation";
            // Création de la connection OleDB et l'execution du DataReader
            oleDbCmd = new OleDbCommand(query, oleDbCn);
            reader = oleDbCmd.ExecuteReader();
            // Ajoute le nom de l'entreprise concerné à la formation

            List<string> list = new List<string>();
            while (reader.Read())
            {
                list.Add(reader.GetString(0));
            }
            // Fermeture du reader et de la connection OleDB
            reader.Close();
            oleDbCmd.Cancel();

            return list;
        }

        public string getSelectNomFormateur(string _cboFormation)
        {
            // Sélection de l'entreprise en guise de la formation
            query = "SELECT NomFormateur FROM  Formateur, Formation WHERE Formation.NomFormation like '" + _cboFormation + "'";
            // Création de la connection OleDB et l'execution du DataReader
            oleDbCmd = new OleDbCommand(query, oleDbCn);
            reader = oleDbCmd.ExecuteReader();
            // Ajoute le nom de l'entreprise concerné à la formation
            string nomFormateur = null;
            while (reader.Read())
            {
                nomFormateur = reader.GetString(0);
            }
            // Fermeture du reader et de la connection OleDB
            reader.Close();
            oleDbCmd.Cancel();

            return nomFormateur;
        }

        public object[] getSelectFormation(string _cboFormation)
        {
            // Sélection de l'entreprise en guise de la formation
            query = "SELECT NbHeure, Langue, Description, Prix FROM  Formation " +
                    "WHERE NomFormation like '" + _cboFormation + "'";
            // Création de la connection OleDB et l'execution du DataReader
            oleDbCmd = new OleDbCommand(query, oleDbCn);
            reader = oleDbCmd.ExecuteReader();
            // Ajoute le nom de l'entreprise concerné à la formation
            reader.Read();
            string montant = null;
            decimal getMontant = 0;
            if (!string.IsNullOrEmpty(reader.GetValue(0).ToString()))
            {
                getMontant = reader.GetDecimal(3);
            }
            montant = string.Format("{0:C}", getMontant);

            object[] list = { reader.GetInt32(0).ToString(), reader.GetString(1), reader.GetString(2), montant };
            // Fermeture du reader et de la connection OleDB
            reader.Close();
            oleDbCmd.Cancel();

            return list;
        }
    }
}